/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.beans;

import java.util.ArrayList;
import java.util.Vector;

/**
 *
 * @author dbr
 */
public class Transforma {

    public static String[] split(String original, String separator) {
        Vector nodes = new Vector();
        // Parse nodes into vector
        int index = original.indexOf(separator);
        while (index >= 0) {
            nodes.addElement(original.substring(0, index));
            original = original.substring(index + separator.length());
            index = original.indexOf(separator);
        }
        // Get the last node
        nodes.addElement(original);

        // Create split string array
        String[] result = new String[nodes.size()];
        if (nodes.size() > 0) {
            for (int loop = 0; loop < nodes.size(); loop++) {
                result[loop] = (String) nodes.elementAt(loop);
                System.out.println(result[loop]);
            }

        }
        return result;
    }

    public static ArrayList<Cuenta> TransformaStringToCuenta(String cuentasString) {
        ArrayList<Cuenta> arrayCuentas = new ArrayList<Cuenta>();
        Cuenta cuenta = null;
        int numerCuentas = cuentasString.length();
        numerCuentas = numerCuentas - 1;
        cuentasString = cuentasString.substring(0, numerCuentas);
        String[] vectorCuentas = split(cuentasString, ";");
        for (int i = 0; i < vectorCuentas.length; i++) {
            String[] datos = split(vectorCuentas[i], "&&");
            cuenta = new Cuenta(datos[0], datos[1], Float.parseFloat(datos[2]));
            arrayCuentas.add(cuenta);
            cuenta = null;
        }
        return arrayCuentas;
    }

    public static ArrayList<Transaccion> TransformaStringToTransaccion(String transaccionString) {
        ArrayList<Transaccion> arrayTransaccion = new ArrayList<Transaccion>();
        Transaccion transaccion = null;
        int numerCuentas = transaccionString.length();
        numerCuentas = numerCuentas - 1;
        transaccionString = transaccionString.substring(0, numerCuentas);

        String[] vectorTransaccion = transaccionString.split(";");
        for (int i = 0; i < vectorTransaccion.length; i++) {
            String[] datos = vectorTransaccion[i].split("&&");
            transaccion = new Transaccion(datos[0], datos[1], datos[2], Float.parseFloat(datos[3]), Float.parseFloat(datos[4]), Float.parseFloat(datos[5]));
            arrayTransaccion.add(transaccion);
            transaccion = null;
        }
        return arrayTransaccion;
    }
}
